package com.fuhe.chen.vendingmachine.dao;

import com.fuhe.chen.vendingmachine.pojo.Container;
import com.fuhe.chen.vendingmachine.pojo.Log;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 机器对应格子DAO
 */
@Mapper
public interface ContainerDao {

    /**
     * 根据机器id和格子id 查询指定格子的信息
     * @param containerId
     * @return
     */
    Container findOne(@Param("containerId") String containerId);

    /**
     * 查询一台机器中所有格子的信息
     * @param machineId
     * @return
     */
    List<Container> findByMachineId(Integer machineId);

    /**
     * 在新增机器同时,新增机器对应的格子
     * @param containers
     */
    void addContainerWithMachine(List<Container> containers);

    /**
     * 修改格子状态 0-空 1-满
     * @param machineId
     */
    void updateStatus(@Param("container_number") String container_number, @Param("machineId") Integer machineId,@Param("status") Integer status);


    /**
     * 查询一台机器中所有空格子的信息
     * @param machineId
     * @return
     */
    List<Container> findEmptyContainerByMachineId(Integer machineId);

    /**
     * 获取一台机器的非空格子柜数量
     * @param machine_id
     * @return
     */
    Integer getCapacity(@Param("machine_id")Integer machine_id);
}
